As is well known, an electromagnetic receiver is an electronic device that receives electromagnetic waves in a certain range of frequencies and converts the information carried by these waves into some kind of a usable form. For example, a receiver that is typically referred to as a “radio receiver” receives electromagnetic waves in the radio range of approximately 3 kiloHertz (kHz) to 300 gigaHertz (GHz). All receivers use antennas to capture the waves and convert them to alternating current (AC) signals, and electronic filters to separate the signals in the desired band of frequencies from all other signals that may be captured by the antenna. In context of receivers, different bands of frequencies are sometimes referred to as “channels.”
Selectivity performance of a receiver refers to a measure of the ability of the receiver to separate the desired range of frequencies (referred to as a “passband ΩP” of frequencies ω) from unwanted interfering signals received at other frequencies (referred to as a “stopband ΩS” of frequencies ω). In other words, selectivity defines how effectively a receiver can respond only to the signal of interest that it is tuned to (i.e., signal in the desired band of frequencies) and reject signals in other frequencies.
Filters can be classified in different groups, depending on which criteria are used for classification. Two major types of digital filters are finite impulse response (FIR) digital filters and infinite impulse response (IIR) digital filters, with each type having its own advantages and disadvantages.
An FIR filter is designed by finding coefficients and filter order that meet certain specifications. In other words, in a filter design setting, “filter design” refers to determining a filter order N and determining values of (N+1) coefficients h[n] of a filter that would approximate the ideal response defined by the specifications both in the passband and in the stopband. In this context, a filter order N is a positive integer, and, for each coefficient, n is an integer of a sequence of consecutive integers from 0 to N (i.e. n=0, 1, . . . , N). Thus, for example, for a second-order filter (i.e. N=2), coefficients may be denoted as h[0], h[1], and h[2].
The specifications of an ideal response that a filter being designed should meet are typically expressed based on the desired selectivity performance of a receiver. Such specifications could be defined in terms of e.g. a frequency response H(ejω) (i.e. a Fourier transform of the impulse response h[n]) provided with the passband ΩP and the stopband ΩS of frequencies to approximate the desired magnitude response D(ω):
                              D          ⁡                      (            ω            )                          =                  {                                                                      1                  ,                                                                              ω                  ∈                                      Ω                    p                                                                                                                        0                  ,                                                                              ω                  ∈                                      Ω                    s                                                                                                          (        1        )            
A further specification could include a desired weight function Wdes(ω) (where the subscript “des” is an abbreviation for “desired”), specifying the relative emphasis on the error in the stopband as compared to the passband. More specifically, the weight requirement could be expressed as
                                          W            des                    ⁡                      (            ω            )                          =                  {                                                                      1                  ,                                                                              ω                  ∈                                      Ω                    p                                                                                                                                            K                    des                                    ,                                                                              ω                  ∈                                      Ω                    s                                                                                                          (        2        )            where Kdes is a positive scalar given as a part of the filter specifications. Providing a weight greater than unity on the stopband places an emphasis on having a better approximation to the ideal response in the stopband (i.e. the designed filter should adequately suppress the frequencies of the stopband).
Many FIR filter design methods exist, such as e.g. windowing design method, frequency sampling method, weighted least squares design, Parks-McClellan method, etc., all of which attempt to arrive at the filter coefficients h[n] of a filter that best approximates an ideal filter response provided by the specifications. Some of these methods can guarantee that for a given value of filter order N, and certain conditions imposed on h[n], the result is the best approximation possible for these conditions. For example applying a rectangular window of size N+1 to the ideal filter response results in the best approximation in terms of mean-squared error optimality criterion. Another example is that if the filter is restricted to be symmetric around its mid-index, Parks-McClellan filter design method yields the best minimax approximation, i.e. minimizes the maximum error. However, finding coefficients for FIR filters with non-linear phase characteristics, i.e. for the most general form of FIR filters where the phase response of a filter may be a non-linear function of frequency, remains challenging if the optimality criterion is minimizing the maximum error. Improvements could be made with respect to addressing one or more of these issues.